Product manufacturers, especially those developing software projects, are increasingly turning toward the use of distributed development processes over more-centralized development techniques. Advantages to distributing development projects include the ability to utilize more resources than can easily be contained at a single site, and efficient use of disparate groups with unique development skills.
Some software manufacturers choose to maximize these effects by developing software on a global scale, utilizing multiple development sites located around the world. In some circumstances, the use of internationally-based development teams can provide what is known as a “follow the sun” approach to software development, where work on a project is handed off from development site to development site, allowing continuous approach that can potentially run 24 hours a day. Additionally, costs may be reduced by utilizing developers from countries which have historically cheaper labor and resource costs. By avoiding the limitations inherent in locating all development within a single country, it is thought that many, if not all, of the efficiencies described above can be captured by a software manufacturer.
However, the software industry, especially in non-western countries, has only existed for a short period of time and communications technologies which enable global software development have not existed at their present quality until recently. Because of this, neither developers nor academics have had substantial experience with which to judge the benefits of global software development. A similar lack of experience exists with respect to potential drawbacks of global software development, such as delays brought on by communications difficulties, differences in product quality from different sites, or the difficulty of overseas supervision. This can be frustrating to companies which are attempting to determine whether or not to outsource projects, or entire products, to foreign development teams. When planning for a long-term development project, companies need the ability to consult the available software development theories and data and determine the potential outcomes of the various opportunities available to them, whether they be centralized, or distributed globally.
Likewise, academics and policymakers are concerned with macro-level effects of global software development. Innovation and jobs sparked by globally-developed software projects may improve the economy or resources of development-site countries. In contrast, developed nations are concerned with the effects of manufacturers moving existing software development projects abroad to poorer nations or starting projects in less-developed countries. While concerns about industry transfer have existed for decades, in the past, countries were concerned with these effects to a lesser degree because it was assumed that jobs that moved or were created abroad would be replaced by higher-paying, higher-skilled jobs back at home due to increases in innovation. However, in the realm of software development, the movement of jobs and development projects is happening at higher skill and pay levels, suggesting that previous economic theories and assumptions may no longer work.
In both of these situations, manufacturers, academics, and policymakers are finding that their knowledge of the changing face of software development is inadequate and difficult to parlay into real predictions. Some work has been done to study global software development, such as work done by James Herbsleb and Audris Mockus in IEEE Transactions on Software Engineering. However, so far no work has been done which captures the dynamic and varied interactions between multiple development sites. What is needed is a way of modeling and simulating software development on a global scale over multiple development sites which provides useful and predictive data to aid in software development and technology policy decision making.